package com.android.job.ui;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.Window;
import android.widget.EditText;

import com.android.job.fusion.FusionCode;
import com.android.job.fusion.FusionField;

/**
 * Activity����
 * @author Administrator
 *
 */
public class BaseActivity extends Activity
{
	public SharedPreferences sharedPreferences;
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		FusionField.currentActivity = this;
	}

	@Override
	protected void onResume()
	{
		super.onResume();
		FusionField.currentActivity = this;
	}
	
	
	
	public boolean isLogin(){
		sharedPreferences = getSharedPreferences(FusionField.POSTARR,
				Activity.MODE_PRIVATE);
		String type = sharedPreferences.getString("type", "");
		if(!type.equals("")){
			return true;
		}
		return false;
	}
	
	public String getLoginType(){
		sharedPreferences = getSharedPreferences(FusionField.POSTARR,
				Activity.MODE_PRIVATE);
		String type = sharedPreferences.getString("type", "");
		return type;
	}

	
	
	/**
	 * 跳转到其他界面
	 * 
	 * @param cls
	 *            跳转页面
	 * @param bundle
	 *            Bundle参数
	 * @param isReturn
	 *            是否返回
	 * @param requestCode
	 *            请求Code
	 * @param isFinish
	 *            是否销毁当前页面
	 */
	public void jumpToPage(Class<?> cls, Bundle bundle, boolean isReturn,
			int requestCode, boolean isFinish)
	{
		if (cls == null)
		{
			return;
		}

		Intent intent = new Intent();
		intent.setClass(this, cls);

		if (bundle != null)
		{
			intent.putExtras(bundle);
		}

		if (isReturn)
		{
			startActivityForResult(intent, requestCode);
		}
		else
		{
			startActivity(intent);
		}

		if (isFinish)
		{
			finish();
		}
	}

	/**
	 * 跳转到其他界面
	 * 
	 * @param cls
	 *            跳转页面
	 * @param bundle
	 *            Bundle参数
	 * @param isFinish
	 *            是否销毁当前页面
	 */
	protected void jumpToPage(Class<?> cls, Bundle bundle, boolean isFinish)
	{
		jumpToPage(cls, bundle, false, 0, isFinish);
	}

	/**
	 * 跳转到其他界面，不销毁当前页面，也不传参数
	 * 
	 * @param cls
	 *            跳转页面
	 */
	protected void jumpToPage(Class<?> cls)
	{
		jumpToPage(cls, null, false, 0, false);
	}

	/**
	 * 判断当前activity是否存在
	 * 
	 * @param cls
	 * @return
	 */
	protected boolean isCurrentActivity(Class<?> cls)
	{
		if (FusionField.currentActivity != null
				&& FusionField.currentActivity.getClass().equals(cls))
		{
			return true;
		}

		else
		{

			return false;
		}

	}
	
	
	
	
	/**
	 * 测试ConnectivityManager ConnectivityManager主要管理和网络连接相关的操作
	 * 相关的TelephonyManager则管理和手机、运营商等的相关信息；WifiManager则管理和wifi相关的信息。
	 * 想访问网络状态，首先得添加权限<uses-permission
	 * android:name="android.permission.ACCESS_NETWORK_STATE"/>
	 * NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的State对象则代表着
	 * 连接成功与否等状态。
	 * 
	 */
	public static boolean connectionState()
	{
		ConnectivityManager connManager = (ConnectivityManager) FusionField.currentActivity
				.getSystemService(CONNECTIVITY_SERVICE);
		// 获取代表联网状态的NetWorkInfo对象
		NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
		// 获取当前的网络连接是否可用
		if (null == networkInfo)
		{
			// 当网络不可用时，跳转到网络设置页面
			// startActivityForResult(new Intent(
			// android.provider.Settings.ACTION_WIRELESS_SETTINGS), 1);
			return false;
		}
		else
		{
			boolean available = networkInfo.isAvailable();
			if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE)
			{
				String type = networkInfo.getExtraInfo();
				if ("cmwap".equals(type))
				{

				}
				else if ("cmnet".equals(type))
				{

				}
				//                      Log.d("BaseActivity", networkInfo.getExtraInfo());
			}
			else if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI)
			{
				//                Log.d("BaseActivity", networkInfo.getExtraInfo()+"----");

			}

			if (available)
			{
				return true;
			}
			else
			{
				return false;
			}
		}

	}
	
	//统一
	public void jumpToSelect(int type ,int view_id ){
		Intent intent = new Intent();
		intent.setClass(this, SelectActivity.class);
		intent.putExtra("type", type);
		intent.putExtra("view_id", view_id);
		startActivityForResult(intent, 0);
	}

}
